package com.ruoyi.custom.service.encryption;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.custom.domain.encryption.EncryptEnvconfig;
import com.ruoyi.custom.domain.encryption.vo.EncryptEnvconfigVo;

import java.util.List;

/**
 * <p>
 * 加解密环境配置 服务类
 * </p>
 *
 * @author xudm
 * @since 2024-06-30
 */
public interface IEncryptEnvconfigService extends IService<EncryptEnvconfig> {

    /**
     * 检查加解密环境配置名称是否唯一
     *
     * @param envconfigVo 加解密环境配置
     * @return 结果
     */
    boolean checkConfigNameUnique(EncryptEnvconfigVo envconfigVo);

    List<EncryptEnvconfig> getConfigList(Long userId);

    /**
     * 删除加解密环境配置
     *
     * @param userId   用户ID
     * @param configId 配置ID
     * @return 结果
     */
    boolean delEnvConfig(Long userId, String configId);

    /**
     * 获取加解密环境配置
     *
     * @param userId
     * @param configId
     * @return
     */
    EncryptEnvconfig getEnvConfigById(Long userId, String configId);

    /**
     * 跟新加解密环境配置
     *
     * @param userId
     * @param envconfigVo
     * @return
     */
    boolean updateEnvConfig(Long userId, EncryptEnvconfigVo envconfigVo);

    boolean delEnvConfigByIds(Long userId, String[] configId);

    List<EncryptEnvconfig> getAllConfigList();
}
